package file01;

import java.io.File;

/**
 * File类的获取功能:
 *    String getName()
 *           返回的是路径中的最后一级路径(文件或文件夹)
 *
 *    String getPath()
 *           如果File对象中封装的是相对路径,那么getPath结果就是相对路径
 *           如果File对象中封装的是绝对路径,那么getPath结果就是绝对路径
 *
 *     long length()
 *           获取文件的长度,单位是byte
 *           不能获取文件夹的长度
 *
 *     String getParent()
 *            该方法返回父级路径(最后一级路径前面的路径)
 *            如果该路径只有一级(没有父级路径),结果返回null
 *    File getParentFile()
 *           返回此抽象路径名父目录的抽象路径名；如果此路径名没有指定父目录，则返回 null。
 *
 *    File getAbsoluteFile()
 *
 *   String getAbsolutePath()
 *           无论File对象中封装的是什么路径,最终都返回一个绝对路径
 */
public class FileDemo06 {
	public static void main(String[] args) {
		//method01();
		//method02();
		//method03();
		File file = new File("day22/abc/2.txt");
		System.out.println(file.getAbsolutePath());//F:\OneDrive - business\JavaSE1.8(online)\JavaSE_Project\day22\abc\2.txt

		File file2 = new File("F:\\OneDrive - business\\JavaSE1.8(online)\\JavaSE_Project\\day22\\1.txt");
		System.out.println(file2.getAbsolutePath());//F:\OneDrive - business\JavaSE1.8(online)\JavaSE_Project\day22\1.txt


		File file3 = new File("day22/abc/2.txt");
		System.out.println(file3.getAbsoluteFile().getName());//2.txt
	}

	private static void method03() {
		File file = new File("day22/1.txt");
		System.out.println(file.getParent());

		File file2 = new File("day22/abc/2.txt");
		System.out.println(file2.getParent());

		File file3 = new File("1.txt");
		System.out.println(file3.getParent());//null

		File file4 = new File("day22/abc/2.txt");
		File parentFile = file4.getParentFile();
		//System.out.println(parentFile);
		System.out.println(parentFile.exists());//true
	}

	private static void method02() {
		File file = new File("day22/1.txt");
		System.out.println(file.length());//12

		File file2 = new File("day22/abc");
		System.out.println(file2.length());//0
	}

	private static void method01() {
		File file = new File("day22/1.txt");
		System.out.println(file.getName());

		File file2 = new File("day22/abc");
		System.out.println(file2.getName());

		File file3 = new File("day22/1.txt");
		System.out.println(file3.getPath());//day22\1.txt

		File file4 = new File("F:\\OneDrive - business\\JavaSE1.8(online)\\JavaSE_Project\\day22\\1.txt");
		System.out.println(file4.getPath());
	}
}
